The fiber channel standard incorporates a buffer-to-buffer flow control mechanism to avoid frame drops in the network. Many devices are not designed to work properly if frames are dropped or re-ordered when the flow of data traffic is disrupted. Therefore the recovery process is often tedious and costly. Such traffic disruption may occur in many ways, including link failure, administrative shutdown of interfaces, configuration of interfaces, etc. For a link failure physical event, frame drops are likely unavoidable. However, for administrative actions that cause a link to shut down, it may be possible to bring down the link gracefully so that frame drops or re-ordering can be avoided or reduced to acceptable levels. In the current art, however, this feature is not available and even when a network link is down as a result of a planned administrative action, the process is not graceful and many packets may be lost.
One type of fiber channel link where the problem can arise is an inter-switch link (ISL) connecting two switches. When an ISL is being brought down, associated activities may be performed in any order and generally without coordination of the two switches connected by the ISL. As a result frames may be unnecessarily dropped or re-ordered.
A further problem arises because a finite amount of time is required to inform the affected switches on a network fabric that a particular link has gone down. In the time it takes this information to reach to the relevant switches and be acted upon, the switches may forward multiple frames to the downed link. A switch on link may actually attempt to forward received frames on the downed link simply because the switch has not had ample opportunity to update its internal frame forwarding table to account for the network disruption. Further, at the time the link goes down there may be multiple frames queued in the switch buffer on the link. In an attempt to send those frames over the link, they may be dropped.
What is needed is a protocol and associated apparatus for gracefully shutting down a Fibre Channel link when it is known ahead of time that the link will be going down.